home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1999 January - Disc 2
/
Macworld (1999-01) (Disk 2).dmg
/
Serious Demos
/
Symbolic Composer 4.2
/
Environment
/
Projects
/
Contributed Scores
/
David Spondike
/
Jetson.scom
< prev
next >
Wrap
Lisp/Scheme
|
1998-10-26
|
39KB
|
842 lines
; George Jetson Meets the Big Bang:
; a sculpture in accoustic space
; David Spondike
; winter/spring '97
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;copyright 1997
;
;
;
;to be realized on a Korg X5 Synthesizer
; ; pallette
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; ; generate vectors-
; ; white-vector ;500
; ; fig-vector ;250
; ; fig-smoo-vector ;250
; ; hop-x-vector ;1000
; ; hop-y-vector ;1000
; ; hop-xy-vector ;1000
; ; four-vector ;500
; ; butterfly-vector ;250
(setq
white-vector (gen-noise-white 500)
)
; - - - - - - - - - - - - - - - - - - -
(setq fig-vector
(list-to-vector
(nthcdr 12 (vector-to-list (gen-feigenbaum 2.63 262 0.005 0.0011))
)
)
)
(setq fig-smoo-vector (vector-smooth 5 fig-vector)
)
; - - - - - - - - - - - - - - - - - - - -
(gen-hopalong-vector x y 20 222 388 0.2 1006 0)
(setq hop-x-vector
(list-to-vector
(nthcdr 6 (vector-to-list (vector-round 0 127 x))
)
)
)
(setq hop-y-vector
(list-to-vector
(nthcdr 6 (vector-to-list (vector-round 0 127 y))
)
)
)
(setq hop-xy-vector (vector-mix hop-x-vector hop-y-vector)
)
; - - - - - - - - - - - - - - - - - - - - -
(setq four-vector
(gen-fourier
'(1 2 3)
'(.5 -2 (gen-sin 36 1.5 64))
'(0 45 90)
500)
)
; - - - - - - - - - - - - - - - - - - - - -
(setq butterfly-vector
(vector-modulate fig-vector (reverse fig-vector)
)
)
; - - - - - - - - - - - - - - - - - - - - -
(setq sin-vector
(vector-modulate
(vector-resynthesize 1 (gen-sin 10 0.5 500) nil nil)
(gen-sin 52 0.5 500)
)
)
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; ; vectors-to-symbols
(setq
white-s (vector-to-symbol -z z white-vector)
fig-s (vector-to-symbol -z z fig-vector)
fig-smoo-s (vector-to-symbol -z z fig-smoo-vector)
hop-x-s (vector-to-symbol -z z hop-x-vector)
hop-y-s (vector-to-symbol -z z hop-y-vector)
hop-xy-s (vector-to-symbol -z z hop-xy-vector)
four-s (vector-to-symbol -z z four-vector)
butterfly-s (vector-to-symbol -z z butterfly-vector)
)
(init-rnd .879)
(setq white-s5
(let ((white-s5 nil))
(dotimes (i 5)
(push (pick-random white-s) white-s5)
) white-s5
)
)
(init-rnd .0071)
(setq white-s10
(let ((white-s10 nil))
(dotimes (i 10)
(push (pick-random white-s) white-s10)
) white-s10
)
)
(init-rnd .615)
(setq white-s25
(let ((white-s25 nil))
(dotimes (i 25)
(push (pick-random white-s) white-s25)
) white-s25
)
)
(init-rnd .537)
(setq white-s77
(let ((white-s77 nil))
(dotimes (i 77)
(push (pick-random white-s) white-s77)
) white-s77
)
)
; ; visualizer-to-symbols
(setq fig-xq-s
'(d = d = d = d = d = d = d = d = d = d = d = d = e = e = e = e = e = f = f = f = f = f =
f = f = f = f = f = f = f = f = f = f = g = g = g = g = g = g = g = g = g = g = g = g =
g = g = g = g = h = h = h = h = h = h = h = h = h = h = h = h = i = i = i i = i = i = i
= j = k = m = p = s = s = s = s = s = s = t = t = t = t = t = t = = = t = t = u = s = v
= r = w = p = v = s = w = o = t = v = s = x = l = o = t = x = k = k = m = q = x = o = t
= z = d = -p = -q = -o = -u = a = -z = q = y = k = i = c = -v = b)
)
(setq bolt-up-s
(butlast
(remove '=
(find-change
(remove '= fig-xq-s)
)
)
)
)
(setq bolt-dwn-s
(symbol-inversion 'a bolt-up-s)
) ; l = 50
(setq fig-yq-s
'(w = = = = = = = = z = = v = = = = = = = = = = v = u = = v = = = = = = = = = = =
= = = = = = = = = = = = = = = = = = = w = = z = = y -z-yu -y-x -w-v -u-t = = -s-r -r-q-p
-p-o-n -m-l -k-j -i-h-g -g-f-e -d-c-b -ba b by = c = crx r p = r d = = = pt n = = dl sx
= = l = = de efkmo ghijq ht jn j = = km o l n = s pq = x = t)
) ; l = 125
(setq spots-s
'(w = = = = = = = = z = = v = = = = = = = = = = v = u = = v = = = = = = = = = = = =
= = = = = = = = = = = = = = = = = = = w = = z = = y)
) ; l = 66
(setq rip-s
'(-z-yu -y-x -w-v -u-t = -s-r -r-q-p
-p-o-n -m-l -k-j -i-h-g -g-f-e -d-c-b -ba b by = = c = = crx r p = = r d = = = = pt n = =
dl sx = = l = = de efkmo ghijq ht jn j = = = km o l n = = s pq = = x = = t)
) ; l = 66
(setq tail-s
'(km o l n = = s pq = = x = = = t = = = = =)
)
(setq fig-smoo-xq-s
'(-z -o -f d l n p p q q q q q r r r r r r r r r r r r r r r s s s s s s s s s s s s s s
s s s t t t t t t t t t t t t t t t t t t t t t t t t t t t u u u u u u u u u u u u
u u u u u u u u u v v v v v v v v v v v v v v v v v v v v v w w w w w w w w w w w w
w w w w w w w w x x x x x x x w w w v u t t t t t t t t t t s s s s s s s s s s t s
s s t s s s t s s s t s s s t t t t t s r s t t t t t t s r r r s u v w x v t t u v
v x y z z x v v u v v t r q p p p o o o o o p p q r r s s s t t t u v w w v w x)
) ; l = 250
(setq fig-smoo-inv-xq-s (symbol-inversion 'a fig-smoo-xq-s)
)
(setq smoo-mel
(rest
(remove '=
(find-change fig-smoo-xq-s
)
)
)
)
(setq fig-tail-x-s
'(-z -z -v -v -m -v a -v i -m i -i a a a a a a a a i i i i i i i a a i i a a i i a a i m
a -i m v a -v a m i -m a v -m -v i i m -i -m m m z -i -v a -v z -z -i m -v -i -i -v v
-m -m -z -m m -v -i -m m z m -m -z -m -v -v i i m v -i -m z z -i -z -z -z -z -z -z -v
-v i m i -z -i)
)
(setq fig-tail-y-s
'(-z f j o u v w z -y -x -w -f -c d e g h l p w x -x -v -d -c b i j k l n o s -u -h a c
f h l r t z -w -u -t -s -r -q -n -m -l -j -h -g -f -d d -v -u q -p -o -n -m -l -k -i -e
-b q x y -i -h -e a b c g k m n q y-g -c i r c e m s t)
)
(setq twigs-s
'(m m m m m m m m m l n k o j q f u a x -h w -g x -h w -h x -i w -h x -i w -i x
-j w -i x -j w -i x -k w -i x -l v -g x -n u -d y -q r b x -m u -g y -r q d w -k x -o
u -g z -u m j p f u -i y -u m l m k n i q b x -u o f u -i z -z e v -o v -p v -m x -t q
b x -x i p c x -x k m j o c w -u p b)
) ; l = 125
(setq four-inv-xq-s
'(m r f x d x g s o k v f y g v m p s j x i w k s q n t k v l t o p q n s n r o p p o
o p n p m o o m q k r i q k m o h r e r f n k g p b r a o e h k -b q -f p -c j f a l
-g o -h k -c b f -g k -k j -i d -b -f e -l g -l c -h -f -c -k b -m -b -k -f -h -j -f -m
-f -m -h -k -k -j -l -k -l -l -l -m -m -l -o -k -p -k -q -m -n -p -k -t -i -t -k -r -o
-m -u -h -x -h -v -m -p -s -i -y -f -y -i -t -p -l -w -f -z -f -w -k -o -s -g -x -d -x
-g -r -n -j -t -d -v -d -s -i -l -o -f -r -d -q -f -l -i -g -m -d -m -d -k -f -g -h -d
-h -d -f -d -e -d -d -c -d a -d b -b a c -c f -d g -b f d b j -c m -c l d g k b q -b r
c n j g r b v b t i m q f x d x g s o k w g z g w m q t k y i y m u r p w m x n v q s
t q v p v q t s s s s s s r s s r t p v o u p r s m v k w l s p m u h x g u k n r g v
c v e p l g s a u -b q f i m a r -d q -b k g c m -e n -e k a d g -d j -f i -d d a -c d
-f d -f b -d -c -b -e -b -f -d -e -e -e -e -f -d -h -d -i -f -g -i -d -l -c -m -d -j -h
-f -m -b -p -b -o -f -i -m -c -r b -r -b -m -i -f -q b -t b -q -e -i -m -b -s d -s a -l
-h -d -o c -q c -n -d -g -j a -n d -m a -h -f -c -i c -j b -g -b -c -d b -e b -d b -b a
b b b c b d b d e b g a i b g f d k a n a m e h l c q a r d n k g r b v b s h m q f w)
) ; l = 500
(setq four-inv-yq-s
(symbol-melodize
'(-j = -j -i = -k-i = -j-i = -h -k = -k -l -h -l-jq -k -i -hr -gq -l-hp s -g -mq -m-lp
-k-j -l -is -m-gp -lst -h -oo -g-fqrt -n-m-l-kop -p-n-m-gr -p-m-j-ho -o-n -q-o-m-l-i
-n-l-f -o-nos -ht -gq -l-kprt -q-j-hno -q-p-o-n-knort -k-f -r-q-i -g-fnsu -i -p-eln
-o-n-j-g-flmop -r-p-i-gmnqt kmnru -ekn -h-fjlnosu -i-f-e-dkmnosu -g-em -r-q-omu
-e-d-clopt -p-d-bmq puv -s-oijpr -s-r-ervwx -dijklstx -s-ouv -e-c-bmpw -q-caquvy
-p-d-bktv hsx -partvy -z-cklvw -dl -sw -t-pix -rjz -t-q-daw -z-y -p-bbhjk -y-sahy
-y-d-cbiw -th -sxz -xalw = -ucj -r-q-cl -x-b -u-t-qgjkwy -t-cch -y-x-w-sb -wgix -r-c
-x-tckz -u-cabdgjx -z-ug -v-t-bdxy -w-vhk -w-u-t-rf -y-v -v-u-sb -x-v-s-rcf -w-v-udfgi
-x-u-rd -bbdjxz -waei -z-v-u-bfh -t-s-bcejy -vef -y-xbdegi -xefgy -wae f -wcd cfh gi
-wefy -y-bdi dgh bg -xbcz -xah -z-ya d -yc b)
)
) ; l = 456
(setq butterfly-xq-s
'(p = w = o = m = -w = b = i = y = q = x = v = v = v = -z = -i = f = -t = b = i = k = l
= -v = -i = f = j = -t = -g = -o = -k = d = -r = -g = -n = b = -q = -d = -o = -g = -l
= -i = -k = -i = -j = -i = -i = -i = -i = -h = -i = -h = -h = -g = -h = a = g = j = k
= l = m = m = m = m = m = m = m = m = n = o = o = q = t = = w = w = w = w = w = w = w
= w = w = x = w = x = w = x = v = y = t = y = s = x = u = y = q = v = x = u = z =
n = p = u = z = m = m = n = q = x = o = t = z = d = -o = -p = -n = -t = b = -x = p =
x = k = i = c = -u = -u = -y)
) ; l = 250
(setq butterfly-mel-s
(remove '= butterfly-xq-s)
) ; l = 125
(setq butterfly-yq-s
'(-u = = = = w = -x = = = -r = z -p -t v = = = = -n = = -l = v = -ou -l = -mv = = = -k
= = -o-j = -i = -h -t-j-i-h -q-h-g -g-f -f-e -k-f -p-n = = = = = -l = = = = = =
-e -swz -m -x = y = = -nu = = = -q -t -d = = = = = -x-sy = -d -p = -rx -d -r -c -y-cr
-br ab bp r c t -yc -zp x -w n ds = = l = = = d lt o mq -v k -v-un eij -zdefgh -vhj
jmox s -wk ln pq t)
)
(setq butterfly-trap-s
(reverse
'(-r -j -c -y -n -t -p -o -s -y -t -s -s -r -q -p -z -i f -e -j -g -e e t p s o l
c -o -j -o -c m j n c -m -k -q -k -h -i -i -d e -c -g -h -l -g -e -d b -c -e -e -g
-e -e -g -e -e -e -d -e -e -d -c -c -c -b -b -b a a a b b c c d
e f i m o v t y w z y z z y y y z)
)
) ; l = 100
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; ; visualizer lengths
(setq white-l
'(1/10 11/100 11/100 13/50 13/100 13/100 7/50 1/50 1/100 1/100 1/100 11/50 1/25 1/25 1/25
37/100 1/20 1/20 1/20 9/20 4/25 3/20 3/20 9/50 7/100 7/100 3/50 71/100 1/20 1/20 1/20
9/25 3/100 1/25 11/25 11/50 11/50 11/50 57/100 4/25 4/25 4/25 1/2 1/20 1/20 1/25 31/100
3/25 11/100 3/25 57/100 1/100 1/100 1/100 27/100 3/50 3/50 3/50 1/10 7/100 3/50 3/50 1/4
11/100 3/25 3/25 4/5 4/25 4/25 17/100 9/50 11/100 3/25 3/25 21/50 4/25 3/20 3/20 27/100
7/100 2/25 7/100 9/100 1/10 1/10 1/10 9/50 1/100 1/100 1/100 19/50 1/50 3/100 3/100
11/100 17/100 9/50 17/100 63/100 11/50 11/50 23/100 31/50 13/100 3/25 3/25 23/100 17/100
17/100 18/25 3/25 11/100 3/25 2/25 7/50 7/50 7/50 63/100 19/100 19/100 19/100 14/25 7/50
3/20 3/20 3/50 23/100 23/100 6/25 87/100 17/100 9/50 17/100 31/50 9/100 1/10 1/10 7/25
7/50 7/50 7/50 47/100 1/100 1/50 1/100 4/25 9/100 1/10 9/100 2/25 9/100 1/10 1/10 1/25
1/50 1/50 1/50 16/25 9/50 17/100 17/100 1/25 9/100 9/100 2/25 23/50 11/100 11/100 11/100
13/25 3/50 1/20 3/50 11/100 1/10 1/10 4/25 9/100 1/10 9/100 69/100 13/100 13/100 13/100
39/100 13/50 1/4 1/4 17/100 3/25 3/25 3/25 3/5 7/100 7/100 7/100 2/5 1/50 3/100 3/100 1/2
1/10 11/100 11/100 1/10 3/50 3/50 7/100 23/50 9/50 9/50 9/50 2/25 17/100 17/100 17/100
6/25 3/100 3/100 1/50 1/50 1/4 1/4 6/25 8/25 3/25 13/100 13/100 71/100 1/20 3/50 1/20
23/100 1/50 3/100 3/100 7/100 1/20 1/20 1/20 63/100 1/50 1/50 1/50 17/20 1/100 1/100
1/50 1/5 1/25 1/20 9/100 1/50 1/50 1/50 23/50 3/50 3/50 3/50 3/25 1/25 1/25 1/25 4/25
9/100 9/100 9/100 53/100 1/10 11/100 11/100 9/25 13/100 13/100 7/50 7/100 1/100 1/100
1/100 13/50 4/25 17/100 4/25 1/100 13/100 3/25 3/25 21/50 19/100 19/100 1/5 33/50 7/25
29/100 29/100 18/25 4/25 4/25 3/20 29/50 1/5 21/100 1/5 11/50 1/100 1/100 1/100 7/50
4/25 4/25 17/100 1/100 1/50 1/100 1/50 1/20 1/25 1/20 7/20 11/100 1/10 11/100 11/25
11/100 3/25 11/100 7/100 3/50 3/50 7/100 1/5 17/100 17/100 17/100 1/4 9/100 1/10 1/10
43/100 3/100 1/25 3/100 17/100 9/50 9/50 17/100 16/25 17/100 9/50 9/50 7/20 3/20 7/50
3/20 1/100 2/25 7/100 7/100 11/20 9/50 17/100 9/50 33/100 7/100 2/25 7/100 31/50 1/100
1/100 1/100 1/1 27/100 27/100 27/100 41/50 17/100 9/50 17/100 67/100 7/25 27/100 27/100
3/100 2/25 9/100 2/25 24/25 1/20 1/20 1/20 7/50 19/100 9/50 13/50 3/50 3/50 3/50 17/20
11/100 1/10 11/100 1/50 11/100 3/25 11/100 18/25 1/100 1/100 1/100 73/100 2/25 2/25 2/25
2/25 11/100 3/25 11/100 3/25 9/50 9/50 9/50 4/25 1/50 1/100 1/50 89/100 21/100 21/100
21/100 17/100 1/20 3/50 3/50 29/50 3/50 3/50 7/100 14/25 3/25 13/100 3/25 9/100 7/50
3/20 7/50 13/25 13/50 13/50 13/50 7/25 1/25 1/25 1/25 4/25 1/50 1/50 1/50 22/25 9/2
37/100 21/100 1/10 1/10 1/10 31/50 4/25 4/25 3/20 19/100 3/50 3/50 1/20 93/100 1/10
1/10 11/100 47/50 3/100 1/50 3/100 12/25 1/20 1/20 1/20 9/50 3/50 7/100 7/100 33/100
1/25 1/20 1/25 41/50 1/50 1/100 1/100 1/100)
)
(init-rnd 0.497)
(setq white-l5
(let ((white-l5 nil))
(dotimes (i 5)
(push (pick-random white-l) white-l5)
) white-l5
)
)
(init-rnd 0.0179)
(setq white-l10
(let ((white-l10 nil))
(dotimes (i 10)
(push (pick-random white-l) white-l10)
) white-l10
)
)
(init-rnd 0.497)
(setq white-l25
(let ((white-l25 nil))
(dotimes (i 25)
(push (pick-random white-l) white-l25)
) white-l25
)
)
(init-rnd 0.117)
(setq white-l41
(let ((white-l41 nil))
(dotimes (i 41)
(push (pick-random white-l) white-l41)
) white-l41
)
)
(setq fig-l
'(1/4 3/20 3/20 1/10 1/20 1/10 3/20 3/20 1/4 1/10 3/20 3/20 1/20 1/10 1/20 1/20 1/20 1/20
1/20 1/10 1/20 7/20 1/5 3/10 1/10 1/20 1/10 1/20 1/10 1/20 1/20 1/20 1/20 1/20 1/20 1/20
1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/20 1/10 1/20 3/20
1/20 3/20 1/20 3/20 3/20 1/20 1/20 1/20 1/20 1/20 1/10 1/20 1/20 1/20 1/10 1/20 1/10 1/20
1/20 1/20)
)
(setq fig-tail-l
'(1/5 1/20 3/10 7/20 3/10 1/10 1/10 1/20 1/20 1/20 1/20 1/20 1/20 1/5 9/20 9/20 3/20 1/5
2/5 7/20 3/10 3/10 1/10 1/10 3/20 1/20 3/20 7/20 9/20 7/20 3/20 1/5 1/10 7/20 3/20 1/20
3/20 3/20 2/5 1/10 1/5 1/5 1/10 7/20 1/5 1/20 9/20 1/10 1/4 1/10 1/5 9/20 7/20 7/20 3/20
1/5 7/20 3/10 3/10 1/10 3/20 2/5 1/4 3/20 3/10 7/20 1/4 1/10 1/4 2/5 7/20 1/5 1/4 7/20
3/10 1/4 1/4 3/10 3/10 1/4 1/4 3/10 3/10 1/4 1/4 3/10 3/10 3/10 3/10 3/10 3/10 3/10 1/4
1/4 1/4 1/4 1/4 1/4 1/4 1/4 1/5 3/10 3/20 3/10 1/10 1/4 1/10 3/20 1/10 1/10 1/20 1/20)
)
(setq four-l
'(17/100 11/100 1/25 1/20 11/100 17/100 1/5 1/5 4/25 11/100 1/25 3/100 1/10 7/50 17/100
4/25 7/50 9/100 1/25 3/100 2/25 3/25 13/100 13/100 1/10 7/100 1/50 1/100 1/20 7/100 2/25
3/50 1/20 3/100 1/100 1/50 1/50 1/50 1/100 1/100 1/100 1/100 1/100 1/100 1/50 1/25 1/25
1/20 1/20 1/25 1/100 1/100 1/20 7/100 1/10 11/100 1/10 3/50 3/100 1/50 7/100 3/25 3/20
4/25 13/100 9/100 3/100 3/100 1/10 3/20 9/50 9/50 4/25 11/100 1/25 1/25 11/100 9/50
21/100 21/100 17/100 11/100 1/25 1/25 3/25 17/100 1/5 1/5 17/100 11/100 3/100 1/25
11/100 4/25 9/50 9/50 3/20 1/10 1/25 3/100 9/100 13/100 7/50 7/50 11/100 7/100 1/50 1/50
3/50 9/100 1/10 9/100 2/25 1/20 1/50 1/100 3/100 1/20 1/25 1/25 1/50 1/100 1/100 1/100
1/100 1/100 1/50 1/25 3/100 3/100 1/100 1/100 1/25 3/50 2/25 2/25 2/25 1/20 1/50 3/100
3/50 11/100 13/100 7/50 3/25 9/100 3/100 3/100 1/10 7/50 17/100 17/100 4/25 1/10 1/25
1/25 11/100 17/100 19/100 1/5 17/100 3/25 1/25 3/100 11/100 17/100 21/100 1/5 9/50 3/25
1/20 1/25 11/100 17/100 19/100 19/100 3/20 11/100 1/25 3/100 1/10 7/50 17/100 4/25
13/100 2/25 3/100 3/100 7/100 11/100 3/25 11/100 9/100 3/50 1/100 1/50 1/20 3/50 7/100
3/50 1/25 1/50 1/100 1/100 1/100 1/100 1/100 1/100 1/100 1/100 1/100 1/100 3/100 1/20
3/50 3/50 1/20 3/100 1/100 1/50 1/20 2/25 1/10 11/100 1/10 7/100 1/50 3/100 2/25 3/25
4/25 4/25 7/50 9/100 3/100 1/25 1/10 4/25 19/100 19/100 4/25 3/25 1/25 1/25 3/25 17/100
1/5 1/5 9/50 11/100 1/25 1/25 11/100 9/50 1/5 1/5 4/25 11/100 3/100 1/25 11/100 3/20
9/50 17/100 3/20 9/100 1/25 3/100 2/25 13/100 7/50 7/50 11/100 2/25 1/50 1/50 3/50 7/100
9/100 2/25 7/100 1/25 1/50 1/100 1/50 1/25 3/100 3/100 1/100 1/100 1/100 1/100 1/100 1/50
1/50 1/25 1/25 1/25 1/100 1/100 1/20 7/100 9/100 9/100 9/100 3/50 1/50 3/100 3/50 11/100
13/100 7/50 3/25 9/100 3/100 3/100 1/10 3/20 9/50 9/50 4/25 1/10 1/25 1/25 11/100 17/100
1/5 1/5 17/100 3/25 1/25 1/25 3/25 17/100 1/5 1/5 17/100 11/100 1/25 1/25 11/100 4/25
19/100 19/100 4/25 1/10 3/100 3/100 9/100 7/50 4/25 4/25 13/100 2/25 1/50 3/100 7/100
9/100 11/100 11/100 9/100 1/20 1/50 1/100 1/25 3/50 1/20 1/20 1/25 3/100 1/100 1/100
1/100 1/100 1/100 1/100 1/100 1/50 1/100 1/100 3/100 1/20 7/100 7/100 7/100 1/25 1/50
1/50 1/20 9/100 11/100 13/100 11/100 2/25 3/100 1/50 9/100 13/100 17/100 17/100 3/20
9/100 1/25 1/25 11/100 17/100 19/100 1/5 4/25 11/100 1/25 3/100 3/25 17/100 21/100 1/5
17/100 11/100 1/20 1/25 11/100 17/100 1/5 21/100 17/100 11/100 3/100 3/100 1/10 7/50
17/100 4/25 7/50 9/100 1/25 3/100 2/25 3/25 13/100 13/100 1/10 7/100 1/50 1/50 3/50 2/25
9/100 7/100 3/50 1/25 1/50 1/100 1/50 3/100 1/50 1/50 1/100 1/100 1/100 1/100 1/100
3/100 1/25 1/20 1/20 3/100 1/100 1/100 1/20 2/25 1/10 11/100 9/100 3/50 3/100 1/50 2/25
3/25 7/50 3/20 7/50 9/100 3/100 3/100 9/100 3/20 9/50 19/100 4/25 11/100 1/25 1/25 3/25
17/100 1/5 1/5 9/50 1/100)
)
(setq butterfly-l
'(21/100 11/50 3/50 1/50 13/100 2/25 19/50 6/25 1/5 3/50 1/50 1/100 17/100 11/50 3/50 1/20
9/100 7/100 3/100 1/100 1/100 13/100 1/20 1/20 1/50 3/25 1/20 3/100 1/50 1/20 2/25 1/25
3/100 1/20 3/50 1/20 1/20 3/100 1/50 1/100 1/100 1/100 1/100 1/100 1/100 1/100 1/100
1/100 1/100 1/100 1/100 1/100 1/100 3/100 3/100 1/50 1/100 1/100 1/100 1/100 1/100 1/100
1/100 1/100 1/100 1/100 1/100 1/100 1/100 3/100 3/50 7/100 1/100 1/100 1/100 1/100 1/100
1/100 1/100 1/100 1/100 1/100 1/100 1/50 1/50 3/100 1/20 2/25 11/100 13/100 17/100 7/50
7/100 11/100 1/5 13/100 1/25 2/25 13/100 7/25 1/25 13/100 13/100 8/25 1/100 1/50 7/100
1/5 6/25 13/100 17/100 23/50 1/100 1/100 1/50 7/100 2/25 4/25 7/100 23/100 17/50 1/50
2/25 1/100 3/10)
) ; l = 125 z = 9
(setq special-l
(qlength '(100-9887766554443333222221111111111222223333444556677889)
)
) ; length = 52 zone = 2
(setq special-l2
(qlength '(500-998877665554444333332222221111111111111122222233333444455566778899)
)
) ; length = 66 zone = 1/2
(setq low-l
(symbol-shuffle
(length-rests-i '1/20 (append '(1/20) (subrange 5 30 fig-tail-l)
)
) .358
)
)
(setq low-s
(m-to-length low-l butterfly-mel-s)
)
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; ; velocity curves
(setq
white-v (vector-to-list (vector-round 0 127 white-vector))
fig-v (vector-to-list (vector-round 0 127 fig-vector))
fig-smoo-v (vector-to-list (vector-round 0 127 fig-smoo-vector))
hop-xy-v (vector-to-list (vector-round 0 127 hop-xy-vector))
four-v (vector-to-list (vector-round 0 127 four-vector))
four-inv-v (vector-to-list (vector-round 0 127 (symbol-to-vector 0 127 four-inv-xq-s)))
butterfly-v (vector-to-list (vector-round 0 127 butterfly-vector))
sin-v (vector-to-list (vector-round 0 127 sin-vector))
)
(init-rnd 0.718)
(setq white-v5
(let ((white-v5 nil))
(dotimes (i 5)
(push (pick-random white-v) white-v5)
) white-v5
)
)
(init-rnd 0.417)
(setq white-v10
(let ((white-v10 nil))
(dotimes (i 10)
(push (pick-random white-v) white-v10)
) white-v10
)
)
(init-rnd 0.721)
(setq white-v25
(let ((white-v25 nil))
(dotimes (i 25)
(push (pick-random white-v) white-v25)
) white-v25
)
)
(init-rnd 0.177)
(setq white-v145
(let ((white-v145 nil))
(dotimes (i 145)
(push (pick-random white-v) white-v145)
) white-v145
)
)
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; detune curves
(setq
fig-detune (vector-to-list (vector-round 32 96 fig-vector))
fig-smoo-detune (vector-to-list (vector-round 32 96 fig-smoo-vector)) ; l = 250
fig-smoo-inv-detune (vector-to-list (symbol-to-velocity 32 96 1 fig-smoo-inv-xq-s))
butterfly-detune (vector-to-list (vector-round 32 96 butterfly-vector))
hop-detune (vector-to-list (vector-round 32 96 hop-xy-vector))
sin-detune (vector-to-list (vector-round 32 96 (subrange 0 250 sin-vector)))
twigs-detune (vector-to-list (symbol-to-velocity 32 96 1 twigs-s))
four-detune (vector-to-list (vector-round 32 96 four-vector))
)
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; ; score
(def-zone
hit '(2/2 49/2
)
ray '(1/2 6/2 38/2
)
pad '(12/2 2/2 1/2 2/2 3/2 11/2 18/2 2/2
)
horn '(16/2 2/2 2/2 2/2 4/2 7/2 1/2 1/2 1/2 9/4 2/2 3/4 4/2 3/2
)
clang '(6/2 2/2 9/2 3/2 4/2 6/2 4/2 4/2 1/2 1/4 2/2 5/2 9/4
)
sparkle '(7/2 38/2
)
chime '(16/2 33/2 2/2
)
chiff '(13/2 4/2 3/2 2/2 4/2 1/2 2/2 2/2 2/2 4/2 2/2 2/2 5/2 7/4 3/4
)
wav '(26/2 4/2 1/10 1/10 1/10 2/10 1/10 2/10 1/10 1/10 13/4 2/2 5/2 1/8 6/4 9/8
)
rezzo '(30/2 2/2 12/2 2/2 5/2
)
low '(37/2 12/2 2/2
)
glass '(36/2 4/2 5/2 6/2)
)
(def-length
hit '((1/50 -49/50) (-49/2)
)
ray (list '(1/2) '(1/500) white-l41
)
pad (list '(12/2) special-l '(-1/2) '(1/186) '(1/124) '(1/186)
(append (length-syncopate 0.27 3 1 (subrange 0 25 butterfly-l)) (length-syncopate
0.72 7 1 (subrange 25 100 butterfly-l))) '(-4/2)
)
horn (list '(16/2) '(1/500) '(1/500) '(1/500) '(1/500) '(-7/2) '(1/250) '(1/250)
'(1/132) '(-9/4) '(1/264) '(-3/4) '(1/86) '(-5/2)
)
clang (list '(1/25 -74/25) '(3/20 1/20 5/20 7/20 5/20) '(-9/2) '(3/20 5/20 1/20 6/20
6/20 4/20 5/20) '(-4/2) '(1/125) '(1/125) '(-4/2) special-l2 '(-1/4) '(1/100)
'(1/130) '(-9/4)
)
sparkle (list '(7/2) (reverse white-l41)
)
chime (list '(16/2) '(1/93) '(-4/2)
)
chiff (list '(13/2) special-l2 '(-3/2) special-l2 (l-modify 0.45 nil :all :times '4 special-l2)
special-l2 '(1/500) '(1/500) '(-2/2) '(1/500) '(1/500) '(1/500) '(1/120)
(l-modify 0.45 nil :all :divide '2 special-l2) '(-3/4)
)
wav (list '(26/2) '(1/125) '(1/500) '(-1/10) '(1/500) '(-2/10)
'(1/500) '(-2/10) '(1/500) '(-1/10) '(-13/4) special-l2 '(1/110) '(-1/8)
(l-modify 0.45 nil :all :divide '2 special-l2) '(-9/8)
)
rezzo (list '(30/2) '(1/125) '(1/125) '(1/125) '(-7/2)
)
low (list '(37/2) low-l '(-4/2)
)
glass (list '(36/2) (l-modify 0.45 nil :all :times '4 special-l2) '(1/100) '(1/100)
)
)
(def-duration
ray (list '(6/10) '(1/500) (l-modify .9 41 :note :add '3/4 white-l41)
)
sparkle (list '(7/2) (l-modify .9 41 :note :add '3/4 (reverse white-l41))
)
clang (list '(200/25 -74/25) '(80/20 12/20 18/20 26/20 24/20) '(-9/2) '(7/20 10/20 6/20 12/20
10/20 20/20 17/20) '(-4/2) '(3/125) '(3/125) '(-3/2) '(1/250) '(-1/4) '(1/50)
'(1/130) '(-9/4)
)
)
(def-velocity
hit '((127 0) (0)
)
ray (list '(34) (append (gen-cresc 4 127 750) (gen-repeat 500 '(127)) (gen-dim 127 27 250))
(reverse white-v145)
)
pad (list '(0) (gen-cresc-dim 40 90 (length special-l)) '(0) (gen-cresc 47 127 186)
(gen-dim 127 17 192) (gen-cresc 60 110 186) (subrange 125 125 butterfly-v) '(0)
)
horn (list '(0) (gen-cresc-dim 35 90 500) (append (gen-cresc 35 90 400) (gen-dim 90 50 100))
(gen-cresc 50 90 500) (append (reverse four-v) four-v) '(0) (gen-dim 100 85 125)
'(85) (gen-cresc-dim 70 108 66) '(0) (append (subrange 6 66 twigs-detune)
(subrange 6 66 (reverse twigs-detune))) '(0) (subrange 6 86 twigs-detune) '(0)
)
clang (list '(92 0) '(90 28 36 70 16) '(0) '(41 50 30 68 34 48 27) '(0)
(vector-round 6 30 (subrange 0 375 four-v)) (gen-dim 125 0 260) '(0)
(gen-cresc-dim 0 127 (length special-l2)) '(0) (append (gen-cresc 25 75 60)
(gen-dim 75 35 40)) (gen-cresc-dim 0 44 325) '(0)
)
sparkle (list '(0) white-v145
)
chime (list '(0) (gen-cresc-dim 15 45 250)
)
chiff (list '(0) (gen-cresc-dim 66 117 (length special-l2)) '(0) (gen-cresc-dim 25 90 (length special-l2))
(gen-cresc-dim 90 127 (length special-l2)) (gen-cresc-dim 25 90 (length special-l2))
(gen-cresc 30 100 500) (gen-dim 100 30 500) '(0) (append (gen-cresc 70 100 125)
(gen-cresc 55 85 125) (gen-cresc 35 65 125) (gen-cresc-dim 48 82 127))
four-inv-v (reverse four-inv-v) (gen-cresc-dim 0 44 300) (gen-cresc-dim 6 102
(length special-l2)) '(0)
)
wav (list '(0) (gen-cresc-dim 20 70 66) '(127) '(0) '(98) '(0) '(76)
'(0) '(52) '(0) '(0) (gen-cresc-dim 25 110 (length special-l2))
(gen-cresc-dim 0 44 275) '(0) (gen-cresc-dim 6 102 (length special-l2)) '(0)
)
rezzo (list '(0) (gen-cresc 5 35 125) '(35) (gen-dim 35 0 135) '(0)
)
low (list '(0) (subrange 10 60 fig-smoo-v) '(0)
)
glass (list '(0) (gen-cresc-dim 90 120 (length special-l2)) (gen-cresc-dim 0 44 275)
(append (gen-cresc 0 44 50) (gen-repeat 200 '(44)) (gen-dim 44 0 55))
)
)
(def-controller X5-controllers
(hit main-volume (list '(127) '(0))
)
(ray main-volume (list '(84) '(74) '(64)
)
panning (list '(64) (append (gen-repeat 250 '(64)) (subrange 250 250 four-inv-v)
(reverse four-inv-v) four-inv-v) white-v145
)
rpn-lsb (list '(01))
rpn-msb (list '(00))
data (list '(64) (append (gen-repeat 500 '(64)) four-detune (reverse four-detune))
'(64))
)
(pad main-volume (list '(0) '(94) '(94) (gen-cresc 80 127 186) '(127) '(112)
(gen-dim 127 0 127) '(0)
)
panning (list '(64) (subrange 150 52 fig-v) '(64) fig-v (subrange 60 186 fig-v)
'(4 16 26 32 50 64 76 87 98 106 127) (vector-round 40 80 sin-v) '(64)
)
rpn-lsb (list '(01))
rpn-msb (list '(00))
data (list '(64) '(64) '(64) '(64) (append twigs-detune (subrange 0 51 (reverse twigs-detune)))
'(64) '(64) '(64)
)
)
(horn main-volume (list '(0) '(82) '(82) '(82) '(82) '(82) '(102) (append
(gen-repeat 25 '(102)) (gen-repeat 25 '(84)) (gen-repeat 25 '(70))
(gen-repeat 25 '(56)) (gen-repeat 25 '(42))) '(127) '(64)
(gen-dim 127 47 285) '(0) (gen-dim 42 0 182) '(0)
)
panning (list '(64) four-v (reverse four-v) four-v (append four-v (reverse four-v))
'(64) (subrange 0 125 (reverse fig-v)) '(24 46 67 84 108)
(gen-cresc 20 110 66) '(64) (gen-dim 90 0 285) '(64) (gen-cresc 60 127 182)
'(64)
)
)
(sparkle main-volume (list '(0) '(40))
panning (list '(64) (reverse white-v145))
)
(clang main-volume (list '(108) '(108) '(108) '(100) '(100) (append (gen-cresc 15 65 125)
(gen-cresc 65 95 250)) (gen-dim 75 10 260) '(10)
(gen-cresc-dim 25 121 (length special-l2)) '(0) (append
(gen-cresc 22 62 60) (gen-dim 62 2 40)) (gen-cresc-dim 0 68 325)
'(0)
)
panning (list '(64) '(60 10 99 118 38) '(64) '(70 90 42 30 103 88 60) '(64)
(subrange 125 375 four-v) (subrange 187 250 (reverse white-v))
'(64) (gen-cresc 0 127 (length special-l2)) '(64) (gen-dim 100 0 100)
(gen-cresc 0 127 325) '(64)
)
rpn-lsb (list '(01))
rpn-msb (list '(00))
data (list '(64) '(64) '(64) '(64) '(64) '(64) '(64) '(64)
(append (gen-cresc 80 96 16) (gen-dim 96 32 50)) '(64) '(64)
(append (gen-cresc 76 96 75) (gen-repeat 100 '(96)) (gen-dim 96 32 150))
'(64)
)
)
(chime main-volume (list '(0) '(59))
panning (list '(64) '(0 11 28 44 58 66 70 82 98 110 122)
)
)
(chiff
main-volume (list '(0) '(125) '(0) (gen-cresc-dim 25 127 (length special-l2))
(gen-cresc-dim 25 127 (length special-l2)) (gen-cresc-dim 25 127 (length special-l2))
(gen-cresc 40 65 250) (gen-cresc 65 95 250) '(0) '(79)
(gen-cresc 57 127 500) (gen-dim 127 0 500) (gen-cresc-dim 0 93 300)
(gen-dim 28 0 462) '(0)
)
panning (list '(64) (gen-cresc 0 127 (length special-l2)) '(64)
(gen-cresc 0 127 (length special-l2)) (gen-dim 127 0 (length special-l2))
(gen-dim 127 0 (length special-l2)) (gen-cresc 0 127 500) (gen-dim 127 0 500)
'(64) (gen-dim 104 26 125) (reverse four-v) four-v (gen-cresc 0 127 300)
(gen-dim 127 0 (length special-l2)) '(64)
)
rpn-lsb (list '(01))
rpn-msb (list '(00))
data (list '(64) '(64) '(64) (append (gen-cresc 80 96 81) (gen-dim 96 32 51))
'(64) (append (gen-cresc 80 96 16) (gen-dim 96 32 50)) '(64) '(64)
'(64) '(64) '(64) (append (gen-cresc 76 96 75) (gen-repeat 75 '(96))
(gen-dim 96 32 125)) (gen-dim 96 32 (length special-l2)) '(64)
)
)
(wav main-volume (list '(60) (gen-cresc-dim 60 80 250) '(100) '(64) '(80) '(64) '(70)
'(64) '(70) '(64) '(64) (gen-cresc-dim 25 110 (length special-l2))
(gen-cresc-dim 0 82 275) '(0) (gen-dim 28 0 396) '(0)
)
panning (list '(64) butterfly-v '(122) '(64) '(88) '(64) '(44) '(64) '(11) '(64)
'(64) (gen-dim 127 0 (length special-l2)) (gen-cresc 0 127 275) '(64)
(gen-dim 127 0 (length special-l2)) '(64)
)
rpn-lsb (list '(01))
rpn-msb (list '(00))
data (list '(64) '(64) '(64) '(64) '(64) '(64) '(64) '(64) '(64) '(64) '(64)
(append (gen-cresc 80 96 16) (gen-dim 96 32 50)) (append
(gen-cresc 76 96 75) (gen-repeat 100 '(96)) (gen-dim 96 32 100)) '(64)
(gen-dim 96 32 (length special-l2)) '(64)
)
)
(rezzo main-volume (list '(0) '(54) '(54) '(54) '(0))
panning (list '(64) (subrange 0 125 hop-xy-v) (subrange 125 750 hop-xy-v)
(subrange 750 125 hop-xy-v) '(64)
)
)
(low main-volume (list '(0) (gen-dim 100 0 (length low-l)) '(0)
)
)
(glass main-volume (list '(0) (gen-cresc-dim 25 127 (length special-l2)) (gen-cresc-dim 0 98 250)
(append (gen-cresc 0 48 50) (gen-repeat 200 '(48)) (gen-dim 48 0 55))
)
panning (list '(64) (gen-cresc 0 127 (length special-l2)) (gen-cresc 0 127 250)
(append (gen-repeat 50 '(72)) fig-v)
)
rpn-lsb (list '(01))
rpn-msb (list '(00))
data (list '(64) '(64) (append (gen-cresc 76 96 75) (gen-repeat 75 '(96))
(gen-dim 96 32 100)) '(64)
)
)
)
(def-symbol
hit (list '(-wabwz =) '(=)
)
ray (list '(]) '(]) (reverse white-s77)
)
pad (list '(=) '(z) '(=) fig-tail-y-s '(\e) fig-tail-y-s butterfly-mel-s '(=)
)
horn (list '(=) four-s four-inv-xq-s (reverse four-inv-xq-s) (append (reverse four-s)
four-inv-xq-s) '(=) fig-yq-s (subrange 100 25 fig-yq-s) rip-s '(=)
(append (reverse spots-s) (symbol-shuffle spots-s .031) (symbol-shuffle spots-s .915)
spots-s) '(=) (append tail-s (symbol-shuffle spots-s .947) (symbol-shuffle spots-s .061)
tail-s) '(=)
)
clang (list '(-z-yxy =) '(-p e -k -j i) '(=) '(-d e -s l i -n oa) '(=)
(subrange 0 375 four-inv-xq-s) (subrange 37 250 white-s) '(=) '(-kk) '(=)
butterfly-trap-s '(g) '(=)
)
sparkle (list '(=) white-s77
)
chime (list '(=) fig-tail-y-s '(=)
)
chiff (list '(=) '(-f -g -h -i) '(=) (append (gen-repeat (length special-l2) '(-oe))
(gen-repeat (length special-l2) '(-pd))) '(-o) '(e) four-s (reverse four-s)
'(=) twigs-s four-s (reverse four-s) '(p) (append (gen-repeat
(length special-l2) '(y)) (gen-repeat (length special-l2) '(=)) (gen-repeat
(length special-l2) '(=)) (gen-repeat (length special-l2) '(k)) (gen-repeat
(length special-l2) '(=)) (gen-repeat (length special-l2) '(=)) (gen-repeat
(length special-l2) '(\d))) '(=)
)
wav (list '(=) fig-smoo-inv-xq-s (symbol-transpose 32 bolt-dwn-s) '(=)
(symbol-transpose 20 bolt-dwn-s) '(=) (symbol-transpose 10 bolt-dwn-s)
'(=) (symbol-transpose -6 bolt-dwn-s) '(=) '(=) (append
(gen-repeat (length special-l2) '(y)) (gen-repeat (length special-l2) '(-so)))
'(v) '(=) (append (gen-repeat (length special-l2) '(q)) (gen-repeat
(length special-l2) '(p)) (gen-repeat (length special-l2) '(\h)) (gen-repeat
(length special-l2) '(=)) (gen-repeat (length special-l2) '(r)) (gen-repeat
(length special-l2) '(=))) '(=)
)
rezzo (list '(=) (subrange 0 125 hop-xy-s) (subrange 125 750 hop-xy-s)
(subrange 875 125 hop-xy-s) '(=)
)
low (list '(=) low-s '(=)
)
glass (list '(=) '(s) '(o) (append (gen-repeat 200 '(z)) butterfly-trap-s)
)
)
(def-tonality
default (activate-tonality (chromatic c 5))
hit (activate-tonality (chromatic c 2))
ray (activate-tonality (equal-tempered 14 'c# 6 1000))
sparkle (activate-tonality (equal-tempered 15 'f# 7 1000))
horn (activate-tonality (chromatic c 4) (chromatic e 4) (chromatic f# 4) (chromatic a 4)
(chromatic c 5) (chromatic c 5) (chromatic c 5) (chromatic g 5)
(chromatic c 6) (chromatic c 5) (chromatic c 5) (chromatic c# 7)
(chromatic c 5)
)
clang (activate-tonality (chromatic c 5) (equal-tempered 12 'c 5 1000) (chromatic c 5)
(equal-tempered 13 'c 5 1000)(chromatic c 5) (chromatic c 7)
(chromatic c 7) (chromatic c 7) (chromatic c 7) (chromatic c 7)
(chromatic f# 7) (chromatic c 7) (chromatic c 7)
)
chime (activate-tonality (chromatic c 3))
chiff (activate-tonality (chromatic c 2) (chromatic c 2) (chromatic c 2) (chromatic c 8)
(chromatic c 4) (chromatic c 8) (chromatic c 8) (chromatic c 8)
(chromatic c 8) (chromatic c 8) (chromatic c 8) (chromatic c 8)
(chromatic c 7) (chromatic c 7)
)
wav (activate-tonality (chromatic a 4) (chromatic a 4) (chromatic a 4) (chromatic a 4)
(chromatic a 4) (chromatic a 4) (chromatic a 4) (chromatic a 4)
(chromatic a 4) (chromatic a 4) (chromatic a 4) (chromatic a 6)
(chromatic a 6) (chromatic c# 7) (chromatic c# 7)
)
rezzo (activate-tonality (chromatic c 7))
low (activate-tonality (chromatic c 3))
glass (activate-tonality (chromatic c 1) (chromatic c 1) (chromatic c 6)
(equal-tempered 17 'f# 3 1000)
)
)
(def-program X5-sound-set
hit 56
ray 93
sparkle 99
clang 101
horn 64
pad 90
chime 113
chiff 122
wav 81
rezzo 87
low 90
glass 93
)
(def-channel
hit 2
ray 3
sparkle 4
clang 5
horn 6
pad 7
chime 8
chiff 9
wav 11
rezzo 12
low 15
glass 16
)
(midiport :printer)
(def-tempo 24)
(compile-instrument-p "ccl;output:" "jetson.mid"
hit
ray
sparkle
clang
horn
pad
chime
chiff
wav
rezzo
low
glass
)